//
//  overlayWindow.h
//  overlayWindow
//
//  Created by Daniel Hazelbaker on 1/20/06.
//  Copyright 2006 Blue Box Moon. All rights reserved.
//

#import <Cocoa/Cocoa.h>


typedef enum {
    BMOverlayPlacementCenter = 0,
    BMOverlayPlacementTopLeft,
    BMOverlayPlacementTopRight,
    BMOverlayPlacementBottomLeft,
    BMOverlayPlacementBottomRight,
    BMOverlayPlacementTop,
    BMOverlayPlacementBottom,
    BMOverlayPlacementLeft,
    BMOverlayPlacementRight,
    BMOverlayPlacementTopLeftTight,
    BMOverlayPlacementTopRightTight,
    BMOverlayPlacementBottomLeftTight,
    BMOverlayPlacementBottomRightTight,
    BMOverlayPlacementTopTight,
    BMOverlayPlacementBottomTight,
    BMOverlayPlacementLeftTight,
    BMOverlayPlacementRightTight
} BMOverlayPlacementType;


#define BMOverlayWindowWillActivate	    @"BMOverlayWindowWillActivate"
#define BMOverlayWindowWillDeactivate	    @"BMOverlayWindowWillDeactivate"
#define BMOverlayWindowDidActivate	    @"BMOverlayWindowDidActivate"
#define BMOverlayWindowDidDeactivate	    @"BMOverlayWindowDidDeactivate"


@interface overlayWindow : NSPanel {
    NSTimer			*timer;

    float			visibleTime;
    BMOverlayPlacementType	placement;

    NSRect			finalPosition;
    BOOL			crawlsIn, crawlsOut;
    unsigned int		crawlSpeed;
}


+ (id)overlayWindow;
+ (id)overlayWindowOnScreen:(NSScreen *)screen;

- (void)activate:(id)sender;
- (void)deactivate:(id)sender;

- (void)setVisibleTime:(float)seconds;
- (float)visibleTime;

- (void)performPlacement;

- (void)setPlacement:(BMOverlayPlacementType)aPlacement;
- (BMOverlayPlacementType)placement;

- (void)setCrawlsIn:(BOOL)crawl;
- (BOOL)crawlsIn;

- (void)setCrawlsOut:(BOOL)crawl;
- (BOOL)crawlsOut;

- (void)setCrawlSpeed:(unsigned int)speed;
- (unsigned int)crawlSpeed;


@end
